package com.example.service;

import com.example.entity.Account;
import com.example.entity.Gouwuche;
import com.example.mapper.GouwucheMapper;
import com.example.utils.TokenUtils;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class GouwucheService {
    @Resource
    GouwucheMapper gouwucheMapper;
    public void  add(Gouwuche gouwuche) {
        Gouwuche gouwuchedb = gouwucheMapper.selectByUserId(gouwuche.getUserId(), gouwuche.getShangpinId());
        if (gouwuchedb != null) {
            gouwuchedb.setGoumaishuliang(gouwuchedb.getGoumaishuliang() + 1);
            gouwuchedb.setZhuangtai("true");
            gouwucheMapper.updateById(gouwuchedb);
        }else {
            gouwuche.setZhuangtai("true");
            gouwucheMapper.insert(gouwuche);
        }
    }

    public void delete(Integer id) {
        gouwucheMapper.deleteById(id);
    }

    public void update(Gouwuche gouwuche) {
        gouwucheMapper.updateById(gouwuche);
    }

    public List<Gouwuche> selectAll(Gouwuche gouwuche) {
//        Account currentUser = TokenUtils.getCurrentUser();
//        return gouwucheMapper.selectById(currentUser.getId());
      return  gouwucheMapper.selectAll(gouwuche);
    }

    public PageInfo<Gouwuche> selectPage(Integer pageNum, Integer pageSize, Gouwuche gouwuche) {
        PageHelper.startPage(pageNum, pageSize);
        List<Gouwuche> list = gouwucheMapper.selectAll(gouwuche);
        return PageInfo.of(list);
    }

}
